在上一章中,我们安装了 Docker 和 Jenkins,并实现了将两者打通。在这一章中,我们则使用 Jenkins 集成 Git 来构建 Docker 镜像,为后面的部署准备镜像资源。
# 1. 安装 Nodejs 环境
在上一章,我们其实并没有在服务端安装 Node 环境。如果想要安装 Node 环境,有以下两个办法:
- 源码编译:这种方式是将
Node源码拉下来后,在服务器端编译完成后才可以使用。时间比较长,流程也略复杂 - 使用
Jenkins Plugin中NodeJS插件自动配置安装 - 在这里,我们可以选择第二种方式来安装,既方便又省力。
我们打开 Jenkins 首页,找到左侧的系统配置 => 插件管理 => 可选插件,搜索 Node 。选中 NodeJS 后,点击左下角的 直接安装 开始安装插件


- 等待安装完毕后,返回 Jenkins 首页。找到
Global Tool Configuration=>NodeJS=>新增NodeJS - 接着回到 Jenkins 首页,找到左侧的 系统配置 ,选择 全局工具配置

找到下面的 NodeJS ,点击 NodeJS 安装,选择相应的版本填写信息保存即可

如何使用
那我们在任务中如何使用呢?我们只需要在任务的配置中,找到构建环境,选中
Provide Node & npm bin/ folder to PATH,选择刚才配置好的 NodeJS 即可。

第一次执行会下载对应的 Node 版本,后续不会下载。
# 2. 使用 SSH 协议集成 Git 仓库源
这一步,我们使用 Jenkins 集成外部 Git 仓库,实现对真实代码的拉取和构建。在这里,我们选用 Gitee 作为我们的代码源。 这里准备一个 vue-cli 项目来演示构建。
2.1 生成公钥私钥
首先,我们先来配置公钥和私钥。这是 Jenkins 访问 Git 私有库的常用认证方式。我们可以使用
ssh-keygen命令即可生成公钥私钥。在本地机器执行生成即可。这里的邮箱可以换成你自己的邮箱:
ssh-keygen -t rsa -C "xxx@gmail.com"
执行后,会遇到第一步步骤: Enter file in which to save the key
这一步是询问你要将公钥私钥文件放在哪里。默认是放在 ~/.ssh/id_rsa 下,当然也可以选择输入你自己的路径。一路回车即可。

- 结束后,你会得到两个文件。分别是 xxx 和 xxx.pub。
- 其中,
xxx是私钥文件,xxx.pub是对应的公钥文件。我们需要在 Git 端配置公钥,在 Jenkins 端使用私钥与 Git 进行身份校验。
2.2 在 Gitee 配置公钥
在 Gitee 中,如果你要配置公钥有2种方式:仓库公钥 和 个人公钥。其中,如果配置了仓库公钥,则该公钥只能对配置的仓库进行访问。如果配置了个人公钥,则账号下所有私有仓库都可以访问。
这里我们就以配置个人公钥为例子。首先打开右上角的设置 ,点击下面的 安全设置=> SSH公钥


在下方有个添加公钥,填入信息即可。
其中的标题为公钥标题,这里可以自定义标题;公钥则为刚才生成的 xxx.pub 文件。使用 cat 命令查看下文件内容,将内容填入输入框并保存。接着去 Jenkins 端配置私钥
cat xxx.pub

2.3 在 Jenkins 配置私钥
回到 Jenkins。在 Jenkins 中,私钥/密码 等认证信息都是以 凭证 的方式管理的,所以可以做到全局都通用。 我们可以在配置任务时,来添加一个自己的凭证。点击项目的 配置,依次找到 源码管理 => Git => Repositories


这里的 Repository URL 则是我们的仓库地址, SSH 地址格式为
git@gitee.com:xxx/xxx.git。可以从仓库首页中的克隆/下载 => SSH中看到

